package cn.sxt.userscenter.common.util;

import java.io.InputStream;
import java.util.Hashtable;
import java.util.Map;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

/**
 * 常量工具类
 * @author Administrator
 *
 */
public class ConstatFinaUtil {
	/* 日志对象 */
	public static Logger LOGGER = LogManager.getLogger();
	
	/* 存储所有的字符串 */
	public static String ALLSTR = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
	
	/* 创建一个配置文件 */
	public static JSONObject CONFIG_JSON = new JSONObject() ;
	/* 提示信息 */
	public static JSONObject INFO_JSON = new JSONObject(); 
	/* 存储token */
	public static Map<String, JSONObject> TOKEN_MAP = new Hashtable<String, JSONObject>();
	
	/* 初始化 */
	static
	{
		String jsonStr = "" ; 
		try
		{
			/* 读取JSON的配置文件 */
			ConstatFinaUtil.LOGGER.info("json配置文件初始化开始");
			InputStream is = ConstatFinaUtil.class.getClassLoader().getResourceAsStream("config.json");
			FileUtil fileUtil = new FileUtil() ; 
			jsonStr = fileUtil.readFile(is);
			JSONObject jsonObj = (JSONObject) JSON.parse(jsonStr);
			/* 配置项 */
			CONFIG_JSON = (JSONObject) jsonObj.get("config");
			INFO_JSON = jsonObj.getJSONObject("info");
			ConstatFinaUtil.LOGGER.info("json配置文件初始化完成,内容:{}" , jsonStr);
		} catch (Exception e)
		{
			ConstatFinaUtil.LOGGER.info("初始化报错了,内容:{}" , jsonStr,e);
		}
	}
}
